package com.project.forum.services;

import com.project.forum.model.Article;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

/**
 * Created with IntelliJ IDEA.
 * Description:发布帖子
 * User:DELL
 * Time:10:53
 */
public interface IArticleService {
    @Transactional//当前方法中执行的过程会被事务管理起来
    void create (Article article);//会执行三条SQL语句,一个插入两条更新

    List<Article> selectAll();

    List<Article> selectAllByBoardId(Long boardId);

    //根据帖子id查看帖子详情
    Article selectDetailById(Long id);

    //编辑帖子
    public void modify(Long id,String title ,String content);

    //根据id查询记录
    Article selectById(Long id);

    //根据id点赞
    void thumbsUpById (Long id);

    //根据id删除帖子
    @Transactional//事务管理
    void deleteById(Long id);

    //更新文章中的回复数+1
    void addOneReplyCountById(Long id);

    //根据用户id查询帖子列表
    List<Article> selectByUserId(Long userId);
}
